using System.Collections;
using Rdl;

namespace GTame.ReportParser
{

    public class StyleType
    {

        private string _BackgroundColor;
        private string _BackgroundGradientEndColor;
        private string _BackgroundGradientType;
        private BackgroundImageType _BackgroundImage;
        private BorderColorStyleWidthType _BorderColor;
        private BorderColorStyleWidthType _BorderStyle;
        private BorderColorStyleWidthType _BorderWidth;
        private string _Calendar;
        private string _Color;
        private string _Direction;
        private string _FontFamily;
        private string _FontSize;
        private string _FontStyle;
        private string _FontWeight;
        private string _Format;
        private string _Language;
        private string _LineHeight;
        private string _NumeralLanguage;
        private string _NumeralVariant;
        private string _PaddingBottom;
        private string _PaddingLeft;
        private string _PaddingRight;
        private string _PaddingTop;
        private string _TextAlign;
        private string _TextDecoration;
        private string _UnicodeBiDi;
        private string _VerticalAlign;
        private string _WritingMode;

        public string BackgroundColor
        {
            get
            {
                return _BackgroundColor;
            }
            set
            {
                _BackgroundColor = value;
            }
        }

        public string BackgroundGradientEndColor
        {
            get
            {
                return _BackgroundGradientEndColor;
            }
            set
            {
                _BackgroundGradientEndColor = value;
            }
        }

        public string BackgroundGradientType
        {
            get
            {
                return _BackgroundGradientType;
            }
            set
            {
                _BackgroundGradientType = value;
            }
        }

        public BackgroundImageType BackgroundImage
        {
            get
            {
                if (_BackgroundImage == null)
                    _BackgroundImage = new BackgroundImageType();
                return _BackgroundImage;
            }
            set
            {
                _BackgroundImage = value;
            }
        }

        public BorderColorStyleWidthType BorderColor
        {
            get
            {
                if (_BorderColor == null)
                    _BorderColor = new BorderColorStyleWidthType();
                return _BorderColor;
            }
            set
            {
                _BorderColor = value;
            }
        }

        public BorderColorStyleWidthType BorderStyle
        {
            get
            {
                if (_BorderStyle == null)
                    _BorderStyle = new BorderColorStyleWidthType();
                return _BorderStyle;
            }
            set
            {
                _BorderStyle = value;
            }
        }

        public BorderColorStyleWidthType BorderWidth
        {
            get
            {
                if (_BorderWidth == null)
                    _BorderWidth = new BorderColorStyleWidthType();
                return _BorderWidth;
            }
            set
            {
                _BorderWidth = value;
            }
        }

        public string Calendar
        {
            get
            {
                return _Calendar;
            }
            set
            {
                _Calendar = value;
            }
        }

        public string Color
        {
            get
            {
                return _Color;
            }
            set
            {
                _Color = value;
            }
        }

        public string Direction
        {
            get
            {
                return _Direction;
            }
            set
            {
                _Direction = value;
            }
        }

        public string FontFamily
        {
            get
            {
                return _FontFamily;
            }
            set
            {
                _FontFamily = value;
            }
        }

        public string FontSize
        {
            get
            {
                return _FontSize;
            }
            set
            {
                _FontSize = value;
            }
        }

        public string FontStyle
        {
            get
            {
                return _FontStyle;
            }
            set
            {
                _FontStyle = value;
            }
        }

        public string FontWeight
        {
            get
            {
                return _FontWeight;
            }
            set
            {
                _FontWeight = value;
            }
        }

        public string Format
        {
            get
            {
                return _Format;
            }
            set
            {
                _Format = value;
            }
        }

        public string Language
        {
            get
            {
                return _Language;
            }
            set
            {
                _Language = value;
            }
        }

        public string LineHeight
        {
            get
            {
                return _LineHeight;
            }
            set
            {
                _LineHeight = value;
            }
        }

        public string NumeralLanguage
        {
            get
            {
                return _NumeralLanguage;
            }
            set
            {
                _NumeralLanguage = value;
            }
        }

        public string NumeralVariant
        {
            get
            {
                return _NumeralVariant;
            }
            set
            {
                _NumeralVariant = value;
            }
        }

        public string PaddingBottom
        {
            get
            {
                return _PaddingBottom;
            }
            set
            {
                _PaddingBottom = value;
            }
        }

        public string PaddingLeft
        {
            get
            {
                return _PaddingLeft;
            }
            set
            {
                _PaddingLeft = value;
            }
        }

        public string PaddingRight
        {
            get
            {
                return _PaddingRight;
            }
            set
            {
                _PaddingRight = value;
            }
        }

        public string PaddingTop
        {
            get
            {
                return _PaddingTop;
            }
            set
            {
                _PaddingTop = value;
            }
        }

        public string TextAlign
        {
            get
            {
                return _TextAlign;
            }
            set
            {
                _TextAlign = value;
            }
        }

        public string TextDecoration
        {
            get
            {
                return _TextDecoration;
            }
            set
            {
                _TextDecoration = value;
            }
        }

        public string UnicodeBiDi
        {
            get
            {
                return _UnicodeBiDi;
            }
            set
            {
                _UnicodeBiDi = value;
            }
        }

        public string VerticalAlign
        {
            get
            {
                return _VerticalAlign;
            }
            set
            {
                _VerticalAlign = value;
            }
        }

        public string WritingMode
        {
            get
            {
                return _WritingMode;
            }
            set
            {
                _WritingMode = value;
            }
        }

        public StyleType()
        {
        }

        public StyleType Write()
        {
            StyleType styleType = new StyleType();
            ArrayList arrayList1 = new ArrayList();
            ArrayList arrayList2 = new ArrayList();
            if (_BackgroundColor != null)
            {
                arrayList1.Add(_BackgroundColor);
                arrayList2.Add(1);
            }
            if (_BackgroundGradientEndColor != null)
            {
                arrayList1.Add(_BackgroundGradientEndColor);
                arrayList2.Add(2);
            }
            if (_BackgroundGradientType != null)
            {
                arrayList1.Add(_BackgroundGradientType);
                arrayList2.Add(3);
            }
            if (_BackgroundImage != null)
            {
                arrayList1.Add(_BackgroundImage.Write());
                arrayList2.Add(4);
            }
            if (_BorderColor != null)
            {
                arrayList1.Add(_BorderColor.Write());
                arrayList2.Add(5);
            }
            if (_BorderStyle != null)
            {
                arrayList1.Add(_BorderStyle.Write());
                arrayList2.Add(6);
            }
            if (_BorderWidth != null)
            {
                arrayList1.Add(_BorderWidth.Write());
                arrayList2.Add(7);
            }
            if (_Calendar != null)
            {
                arrayList1.Add(_Calendar);
                arrayList2.Add(8);
            }
            if (_Color != null)
            {
                arrayList1.Add(_Color);
                arrayList2.Add(9);
            }
            if (_Direction != null)
            {
                arrayList1.Add(_Direction);
                arrayList2.Add(10);
            }
            if (_FontFamily != null)
            {
                arrayList1.Add(_FontFamily);
                arrayList2.Add(11);
            }
            if (_FontSize != null)
            {
                arrayList1.Add(_FontSize);
                arrayList2.Add(12);
            }
            if (_FontStyle != null)
            {
                arrayList1.Add(_FontStyle);
                arrayList2.Add(13);
            }
            if (_FontWeight != null)
            {
                arrayList1.Add(_FontWeight);
                arrayList2.Add(14);
            }
            if (_Format != null)
            {
                arrayList1.Add(_Format);
                arrayList2.Add(15);
            }
            if (_Language != null)
            {
                arrayList1.Add(_Language);
                arrayList2.Add(16);
            }
            if (_LineHeight != null)
            {
                arrayList1.Add(_LineHeight);
                arrayList2.Add(17);
            }
            if (_NumeralLanguage != null)
            {
                arrayList1.Add(_NumeralLanguage);
                arrayList2.Add(18);
            }
            if (_NumeralVariant != null)
            {
                arrayList1.Add(_NumeralVariant);
                arrayList2.Add(19);
            }
            if (_PaddingBottom != null)
            {
                arrayList1.Add(_PaddingBottom);
                arrayList2.Add(20);
            }
            if (_PaddingLeft != null)
            {
                arrayList1.Add(_PaddingLeft);
                arrayList2.Add(21);
            }
            if (_PaddingRight != null)
            {
                arrayList1.Add(_PaddingRight);
                arrayList2.Add(22);
            }
            if (_PaddingTop != null)
            {
                arrayList1.Add(_PaddingTop);
                arrayList2.Add(23);
            }
            if (_TextAlign != null)
            {
                arrayList1.Add(_TextAlign);
                arrayList2.Add(24);
            }
            if (_TextDecoration != null)
            {
                arrayList1.Add(_TextDecoration);
                arrayList2.Add(25);
            }
            if (_UnicodeBiDi != null)
            {
                arrayList1.Add(_UnicodeBiDi);
                arrayList2.Add(26);
            }
            if (_VerticalAlign != null)
            {
                arrayList1.Add(_VerticalAlign);
                arrayList2.Add(27);
            }
            if (_WritingMode != null)
            {
                arrayList1.Add(_WritingMode);
                arrayList2.Add(28);
            }
            styleType.Items = arrayList1.ToArray();
            styleType.ItemsElementName = (ItemsChoiceType5[])arrayList2.ToArray(typeof(ItemsChoiceType5));
            arrayList2 = arrayList1 = null;
            return styleType;
        }

    } // class StyleType

}

